(module mp22-top  (lib "eopl.ss" "eopl")
  (require "drscheme-init.scm")
  (require "mp22-soln.scm")
  (define mp22-tests
    (list
     (list 'constant "33" 33)
     (list 'sum-1 "+(33,44)" 77)
     (list 'diff-1 "-(33,11)" 22)
     (list 'product-divide-2 "*(/(+(2,4) , 2), /(10,2))" 15)
     (list 'product-divide "*(2, /(10,2))" 10)
     (list 'product-add "*(2, +(3,2))" 10)
     (list 'product-1 "*(22,2)" 44)
     (list 'constant "22" 22)
     (list 'constant "*(2,3)" 6)
     (list 'triple-prod "*(2,3,4)" 24)
     (list 'make-it-four-prod "*(2,3,4,5)" 120)
     (list 'official-expected-result "-(5,3,2)" 0)
     (list 'prod-triple-add "*(2, +(3,2,3))" 16)
     (list 'complex-1 "*(2,3, +(3,2,3))" 48)
     (list 'complex-2  "*(2,-(7,3), +(3,2,3))" 64)
     ))

 
  (define run-mp22-tests
    (lambda ()
      (run-tests! value-of-aexp-string equal? mp22-tests)))
  (run-mp22-tests)
  )